home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / hotshot / __init__.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  3KB  |  85 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. '''High-perfomance logging profiler, mostly written in C.'''
  5. import _hotshot
  6. from _hotshot import ProfilerError
  7.  
  8. class Profile:
  9.     
  10.     def __init__(self, logfn, lineevents = 0, linetimings = 1):
  11.         if not lineevents or 1:
  12.             pass
  13.         self.lineevents = 0
  14.         if not linetimings or lineevents or 1:
  15.             pass
  16.         self.linetimings = 0
  17.         self._prof = p = _hotshot.profiler(logfn, self.lineevents, self.linetimings)
  18.         if self.__class__ is Profile:
  19.             self.close = p.close
  20.             self.start = p.start
  21.             self.stop = p.stop
  22.             self.addinfo = p.addinfo
  23.         
  24.  
  25.     
  26.     def close(self):
  27.         '''Close the logfile and terminate the profiler.'''
  28.         self._prof.close()
  29.  
  30.     
  31.     def fileno(self):
  32.         """Return the file descriptor of the profiler's log file."""
  33.         return self._prof.fileno()
  34.  
  35.     
  36.     def start(self):
  37.         '''Start the profiler.'''
  38.         self._prof.start()
  39.  
  40.     
  41.     def stop(self):
  42.         '''Stop the profiler.'''
  43.         self._prof.stop()
  44.  
  45.     
  46.     def addinfo(self, key, value):
  47.         '''Add an arbitrary labelled value to the profile log.'''
  48.         self._prof.addinfo(key, value)
  49.  
  50.     
  51.     def run(self, cmd):
  52.         '''Profile an exec-compatible string in the script
  53.         environment.
  54.  
  55.         The globals from the __main__ module are used as both the
  56.         globals and locals for the script.
  57.         '''
  58.         import __main__ as __main__
  59.         dict = __main__.__dict__
  60.         return self.runctx(cmd, dict, dict)
  61.  
  62.     
  63.     def runctx(self, cmd, globals, locals):
  64.         '''Evaluate an exec-compatible string in a specific
  65.         environment.
  66.  
  67.         The string is compiled before profiling begins.
  68.         '''
  69.         code = compile(cmd, '<string>', 'exec')
  70.         self._prof.runcode(code, globals, locals)
  71.         return self
  72.  
  73.     
  74.     def runcall(self, func, *args, **kw):
  75.         '''Profile a single call of a callable.
  76.  
  77.         Additional positional and keyword arguments may be passed
  78.         along; the result of the call is returned, and exceptions are
  79.         allowed to propogate cleanly, while ensuring that profiling is
  80.         disabled on the way out.
  81.         '''
  82.         return self._prof.runcall(func, args, kw)
  83.  
  84.  
  85.